package com.zzw.zim.common.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;

/**
 * <p>项目名称: zzw-tech </p>
 * <p>包名称: com.zzw.mis.system.vo </p>
 * <p>描述: 用户 </p>
 * <p> 用户 </p>
 * <p>创建时间: 2022/11/15 11 </p>
 *
 * @author coco
 * @version v1.0
 */
@Data
@Schema(description = "用户")
public class SysUserVO implements Serializable {
	private static final long serialVersionUID = 1L;

	@Schema(description = "id")
	private String id;

	@Schema(description = "用户名", required = true)
	@NotBlank(message = "用户名不能为空")
	private String username;

	private String tcName;
	private String tcPassword;

	@Schema(description = "密码")
	@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
	private String password;

	@Schema(description = "姓名", required = true)
	@NotBlank(message = "姓名不能为空")
	private String realName;

	// @Schema(description = "头像")
	// private String avatar;
	//
	// @Schema(description = "邮箱")
	// @Email(message = "邮箱格式不正确")
	// private String email;

	@Schema(description = "手机号", required = true)
//	@NotBlank(message = "手机号不能为空")
	private String mobile;
	//
	// @Schema(description = "机构ID", required = true)
	// @NotNull(message = "机构ID不能为空")
	// private Long orgId;

	@Schema(description = "状态 0：停用    1：正常", required = true)
	private Integer status;

	@Schema(description = "角色ID列表")
	private List<String> roleIdList;

	@Schema(description = "权限  0：普通   1：超级管理员  2：二级管理员")
	private Integer superAdmin;
	//
	// @Schema(description = "机构名称")
	// private String orgName;

	@Schema(description = "创建时间")
	private LocalDateTime createTime;

	@Schema(description = "权限列表")
	@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
	private Set<String> authoritySet;
}
